package com.mashibing.dp.strategy.v1;

import com.mashibing.dp.strategy.utils.Comparable;

/**
 * 第一个版本的Sorter1
 * 使用自定义的Comparable接口，里面定义了一个compareTo方法
 */
public class Sorter1 {

    public static void sort(Comparable[] arr){
        for(int i=0; i<arr.length - 1; i++) {
            int minPos = i;

            for(int j=i+1; j<arr.length; j++) {
                minPos = arr[j].compareTo(arr[minPos])==-1 ? j : minPos;
            }
            swap(arr, i, minPos);
        }
    }

    //sort(int)

    static void swap(Comparable[] arr, int i, int j) {
        Comparable temp = arr[i];
        arr[i] = arr[j];
        arr[j] = temp;
    }


}
